﻿using Models;
using Models.DTO;
using System;
using System.Collections.Generic;
using System.Text;

namespace IBLL
{
    /// <summary>
    /// 商品记录表业务逻辑层--接口
    /// </summary>
    public interface IProductRecordBLL
    {
        /// <summary>
        /// 查询商品记录列表的接口--分页
        /// </summary>
        /// <param name="page">第几页</param>
        /// <param name="limit">每页几条数据</param>
        /// <param name="consumableId">商品记录Id</param>
        /// <param name="consumableName">商品名</param>
        /// <param name="count">数据总量</param>
        /// <returns></returns>
        List<GetProductRecordDTO> GetProductRecord(int page, int limit, string consumableId, string consumableName, out int count);

        /// <summary>
        /// 添加商品记录的接口
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        bool CreateProductRecord(ProductRecord entity, out string msg);

        /// <summary>
        /// 更新商品记录信息的接口
        /// </summary>
        /// <param name="productRecord">要更新的实体</param>
        /// <param name="msg">返回的描述信息</param>
        /// <returns></returns>
        bool UpdateProductRecord(ProductRecord productRecord, out string msg);

        /// <summary>
        /// 商品记录软删除的接口
        /// </summary>
        /// <param name="id">被删除的商品记录id</param>
        /// <returns></returns>
        bool DeleteProductRecord(string id);

        /// <summary>
        /// 商品记录批量软删除的接口
        /// </summary>
        /// <param name="ids">被删除的商品记录id集合</param>
        /// <returns></returns>
        bool DeleteProductRecords(List<string> ids);

    }
}
